package com.itbz.JSP;

public class RequestForward {

    /*请求转发是服务端的一种请求方式，相当于在服务端中直接请求某个资源。

RequestDispatcher dispatcher = request.getRequestDispatcher("/test.jsp");

dispatcher.forward(request,response);

简写方式：
request.getRequestDispatcher("/test.jsp").forword(request,response);

客户端浏览器 ---request-->Web服务器里的Servlet---请求转发--->Web服务器里的xxx.jsp---Response--->传回客户端浏览器
(通过servlet进行数据的传递，由jsp进行视图的生成)
*/


}
/*请求转发与重定向的区别
请求转发对于客户端浏览器而言是在一次请求与响应中完成，而重定向是在两次请求两次响应中完成。

请求转发并不会改变客户端浏览器的地址栏中的内容。而重定向会改变客户端浏览器地址栏中的内容。

请求转发可以使用request对象传递数据，而重定向不能使用request对象传递数据。
（因为在请求转发时servlet中的request对象会传给jsp
  而重定向完成请求后，会销毁request对象）

如果是处理的DML（添加，删除，修改）操作，建议使用重定向方式为客户端浏览器产生响应，可以解决表单重复提交现象。
因为当添加用户时，如果用请求转发，浏览器的URL地址会不改变，如果用户不停刷新，会不停创建相同的用户，
如果用重定向，URL地址发生改变，那么刷新地址也不会再次添加用户
查询数据是用请求转发
*/